The compact disc read only memory storage device is a very popular device for storing and economically delivering large quantities of computer data. For example, current technology permits storage of about 600 megabytes of data on a single CD-ROM. Such a CD-ROM storage device can be manufactured and packaged very inexpensively, making it a very attractive carrier of computer data including text, graphics, sound, and full-motion video.
To create software specifically adapted for a CD-ROM device, software development systems have been employed, using personal computers. Such development systems use hard disk memories to store information to be transferred to a CD-ROM device. Unfortunately, the retrieval characteristics of CD-ROM devices and hard disks are very different, thereby making it difficult or impossible to emulate closely the characteristics of the CD-ROM drive using a hard disk. For example, the average access time for a fast hard disk memory is about 15 milliseconds, as compared to 300 milliseconds for a CD-ROM drive. Also, a conventional hard disk memory can transfer data at 5-10 megabytes per second, whereas, a conventional CD-ROM drive can transfer data at about 300 kilobytes per second.
Such incompatibilities in performance capabilities may not be a significant problem for a CD-ROM software development system, especially where the data is not relatively complex. For example, the data rate required from the CD-ROM device for text files or audio data is relatively constant, and well within the 300 kilobytes per second limit.
However, a problem exists where complex presentation applications are to be developed and tested employing multiple streams of high-bandwidth data to be retrieved in a substantially simultaneous manner. For example, three simultaneous data "tracks" may be required. The first track can be a digitized and compressed movie, the second track can be a stereo music clip, and the third track can be a graphics animation. Since the bandwidth of the CD-ROM device is limited to 300 kilobytes per second, sophisticated techniques must be employed which interleave the three data streams and buffer the individual streams so that they can be retrieved substantially simultaneously, in the desired synchronization to achieve a desired presentation, such as a multi-media presentation.
In such multi-media presentations, the timing of the data retrieved from the CD-ROM device is critical. In this regard, the physical arrangement of the different data streams on the disc device determines the overall performance of the system. If a block of sound data is located at a position on the CD-ROM device requiring a head seek operation, the retrieval of one or more of the streams currently playing is likely interrupted. Time consuming experimentation and fine tuning of file placement on the CD-ROM device may be required to make such presentation applications perform properly.
For this reason, it is critical to duplicate, as closely as possible, the retrieval characteristics of the CD-ROM drive when testing application software. A multi-media application software can be executed perfectly on a development system, where all of the data is retrieved from its hard disk memory. However, when a copy of the multi-media software is transferred to a CD-ROM device, the resulting stored application software may not execute entirely satisfactory. For example, unwanted breaks in the video and sound may result when the software is executed from the CD-ROM device.
For this reason, attempts have been made to emulate as closely as possible, the characteristics of a CD-ROM drive of a software development system. One such attempt is disclosed in U.S. Pat. No. 5,121,492. The system disclosed therein emulates the access characteristics of a multi-media storage drive unit by calculating its characteristic features, such as the estimated delays, seek times, motor dynamics and data transfer rates of the drive unit. While such a calculating technique may be sufficient for less complex text or audio files, it is not entirely satisfactory for those applications requiring multiple streams of high bandwidth data to be retrieved in a desired simultaneous manner. In this regard, because the calculations are derived from a model of a mechanical system (the CD-ROM drive), the derived mechanical characteristics do not always closely emulate the actual mechanical characteristics satisfactorily.
Due to the incompatibilities of the developmental system hard disc drive and a CD-ROM device, even when the access characteristics are calculated, undesirable results can occur. Since the calculations are only an approximation, repeated attempts must be made. In the course of unwanted and expensive developing and testing an application, many iterations of individual CD-ROM devices are required to be recorded for testing.
As a result, when a multi-media presentation application software is being developed for a master CD-ROM device, the software designer must have an expensive master CD-ROM device created to determine whether or not the resulting software can be executed in the desired manner. In this regard, the designer must wait until the master device is prepared, and then the resulting software can be tested to ascertain whether or not all of the tracks of information can be retrieved in the desired synchronized manner.
Once the extent and nature of the undesired results are determined, the designer must revise the software to be developed by again utilizing the development system. The data placement on the CD must be revised in a further attempt to achieve the desired result of creating a master CD-ROM device, which can enable the resulting presentation software to be executed in the desired synchronized manner.
Thereafter, a copy of the revised software must then be used to make another expensive master CD-ROM device. Thus, additional expense is incurred, and time is lost in the making of another master device.
This iterative developmental process can be repeated several times. Thus, the overall time and expense in developing a master CD-ROM device is excessive.
Thus, it would be highly desirable to have a new and improved software development system, which could enable the software being developed to be completely developed and tested without the unwanted and undesired creation of multiple iterations of test master CD-ROM devices. In this manner, the testing should be able to be performed more quickly and easily.